1100 |
Is it is possible to exclude the non-working days when displaying the histogram using the exBarEffort for exHistOverAllocation type
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1,oBar2 LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,40) oChart:FirstVisibleDate := "06/20/2005" oChart:HistogramVisible := .T. oChart:HistogramHeight := 64 oChart:HistogramView := 112/*exHistogramAllItems*/ oBar := oChart:Bars:Item("Split") oBar:Pattern := 6/*exPatternBDiagonal*/ oBar:Shape := 18/*exShapeThinUp*/ oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,128 } ) , .F. )) oBar1 := oChart:Bars():Add("Task:Split") oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,128 } ) , .F. )) oBar1:Shortcut := "WorkingTask" oBar1:Pattern := 6/*exPatternBDiagonal*/ oBar1:HistogramPattern := 6/*exPatternBDiagonal*/ oBar1:HistogramType := 1/*exHistOverAllocation*/ oBar2 := oChart:Bars():Item("Task") oBar2:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,255 } ) , .F. )) oBar2:Pattern := 5/*exPatternFDiagonal*/ oBar2:HistogramType := 1/*exHistOverAllocation*/ oBar2:HistogramPattern := 5/*exPatternFDiagonal*/ oItems := oG2antt:Items() h := oItems:AddItem("True") oItems:AddBar(h,"WorkingTask","06/23/2005","06/29/2005") oItems:SetProperty("ItemBar",h,"",21/*exBarEffort*/,4) oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.T.) h := oItems:AddItem("False") oItems:AddBar(h,"Task","06/23/2005","06/29/2005") oItems:SetProperty("ItemBar",h,"",21/*exBarEffort*/,4) oItems:SetProperty("ItemBar",h,"",20/*exBarKeepWorkingCount*/,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1099 |
I display numbers in my chart, but the AddBar requires a date how can I add a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:NonworkingDays := 0 oChart:FirstVisibleDate := 0 oChart:ToolTip := "" oLevel := oChart:Level(0) oLevel:Label := "<%i%>" oLevel:ToolTip := "" oChart:UnitWidth := 24 oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task",2,4) oItems:AddBar(oItems:AddItem("Task 2"),"Task",6,10) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1098 |
I display numbers in the chart's header but do not want to get displayed negative numbers. How can i do that
PROCEDURE OnDateChange(oG2antt) oG2antt:Chart():FirstVisibleDate := 0 oG2antt:SetProperty("ScrollPartEnable",2/*exHChartScroll*/,1024/*exLeftBPart*/,.F.) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:DateChange := {|| OnDateChange(oG2antt)} /*Occurs when the first visible date is changed.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:NonworkingDays := 0 oChart:FirstVisibleDate := 0 oChart:ToolTip := "" oLevel := oChart:Level(0) oLevel:Label := "<%i%>" oLevel:ToolTip := "<%i%>" oChart:UnitWidth := 24 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1097 |
How can I display numbers in the chart's header instead dates
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:NonworkingDays := 0 oChart:FirstVisibleDate := 0 oChart:ToolTip := "" oLevel := oChart:Level(0) oLevel:Label := "<%i%>" oLevel:ToolTip := "" oChart:UnitWidth := 24 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1096 |
How can I create a bar that's not sizable, or can not be resized by default similar with milestone
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "12/24/2000" oChart:LevelCount := 2 oBar := oChart:Bars():Add("Custom") oBar:Shape := 0/*exShapeEmpty*/ oBar:StartShape := 1/*exShapeIconUp1*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem(""),"Custom","01/02/2001","01/02/2001","K1","This TYPE of bar can not be resized.") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1095 |
Is it possible to hide the non-working parts for items using the ItemNonworkingUnits, even if set the ShowNonworkingUnits, ShowNonworkingDates on False
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/27/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:NonworkingDaysPattern := 0/*exPatternEmpty*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:SetProperty("ItemNonworkingUnits",h2,.F.,"weekday(value) = 1") oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1094 |
Is it possible to show the non-working parts for certain items, even if I hide the default non-working part
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/27/2000" oChart:SetProperty("PaneWidth",.F.,64) oChart:LevelCount := 2 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:SetProperty("ItemNonworkingUnits",h2,.F.,"weekday(value) = 1") oItems:AddBar(h2,"Task","01/04/2001","01/06/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/08/2001","01/10/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1093 |
How can I hide the non-working part of the chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2008" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1092 |
Is it possible to let users selects cells as in Excel
|
1091 |
How can I hide a date from the chart view
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2008" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 0 oInsideZooms:Add("01/04/2008") oInsideZooms:Add("01/05/2008") oInsideZooms:Add("01/06/2008") oChart:SelectLevel := 1 oChart:SetProperty("SelectDate","01/05/2008",.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1090 |
Can the SchedulePDM displays and edit the working units for my bars
PROCEDURE OnBarResizing(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns():Add("Task") oColumn := oG2antt:Columns():Add("Working") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn:Editor():EditType := 4/*SpinType*/ oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","") oItems:AddLink("L2",h2,"",h3,"") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L3",h4,"",h3,"") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oItems:SchedulePDM(oItems:FirstVisibleItem(),"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1089 |
Can the SchedulePDM displays the working units for my bars
PROCEDURE OnBarResizing(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns():Add("Task") oG2antt:Columns():Add("Working"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,96) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","") oItems:AddLink("L2",h2,"",h3,"") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","") oItems:AddLink("L3",h4,"",h3,"") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oItems:SchedulePDM(oItems:FirstVisibleItem(),"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1088 |
Can the SchedulePDM keeps the working units for my bars
PROCEDURE OnBarResizing(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","K4") oItems:AddLink("L3",h4,"K4",h3,"K3") oItems:SetProperty("ItemBar",0,"<*>",20/*exBarKeepWorkingCount*/,.T.) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1087 |
How can I arrange automatically the bars based on their links as soon as user moves the bars
PROCEDURE OnBarResizing(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3,h4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResizing := {|Item,Key| OnBarResizing(oG2antt,Item,Key)} /*Occurs when a bar is moving or resizing.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) h4 := oItems:AddItem("Task 4") oItems:AddBar(h4,"Task","01/02/2001","01/04/2001","K4") oItems:AddLink("L3",h4,"K4",h3,"K3") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1086 |
How can I arrange automatically the bars based on their links as soon as user moves the bars
PROCEDURE OnBarResize(oG2antt,Item,Key) oG2antt:Items():SchedulePDM(Item,Key) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BarResize := {|Item,Key| OnBarResize(oG2antt,Item,Key)} /*Occurs when a bar is moved or resized.*/ oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1085 |
I have some buttons added on the control's scroll bar, how can I can know when the button is being clicked
|
1084 |
How do I get notified once the user clicks a hyperlink created using the anchor HTML tag
PROCEDURE OnAnchorClick(oG2antt,AnchorID,Options) DevOut( Transform(AnchorID,"") ) DevOut( Transform(Options,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AnchorClick := {|AnchorID,Options| OnAnchorClick(oG2antt,AnchorID,Options)} /*Occurs when an anchor element is clicked.*/ oG2antt:Columns():Add("Default"):SetProperty("Def",17/*exCellValueFormat*/,1) oItems := oG2antt:Items() oItems:AddItem("This is a link: <aex.com;1>www.exontrol.com</a>") oItems:AddItem("This is a link: <aex.net;2>www.exontrol.net</a>") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1083 |
Is it possible to start editing a cell when double click it
PROCEDURE OnDblClick(oG2antt,Shift,X,Y) oG2antt:Edit() RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems,oItems1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:DblClick := {|Shift,X,Y| OnDblClick(oG2antt,Shift,X,Y)} /*Occurs when the user dblclk the left mouse button over an object.*/ oG2antt:BeginUpdate() oG2antt:AutoEdit := .F. oG2antt:MarkSearchColumn := .F. oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/ oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/ oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(1),1,2) oItems1 := oG2antt:Items() oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1082 |
Is it possible to disable standard single-click behavior for this column, so I manually could call Edit() when needed
PROCEDURE OnDblClick(oG2antt,Shift,X,Y) oG2antt:Edit() RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems,oItems1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:DblClick := {|Shift,X,Y| OnDblClick(oG2antt,Shift,X,Y)} /*Occurs when the user dblclk the left mouse button over an object.*/ oG2antt:BeginUpdate() oG2antt:AutoEdit := .F. oG2antt:MarkSearchColumn := .F. oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/ oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/ oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(1),1,2) oItems1 := oG2antt:Items() oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1081 |
How can I get or restore the old or previously value for the cell being changed
PROCEDURE OnChange(oG2antt,Item,ColIndex,NewValue) DevOut( "Old-Value:" ) DevOut( Transform(oG2antt:Items:CellValue(Item,ColIndex),"") ) DevOut( "New-Value:" ) DevOut( Transform(NewValue,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems,oItems1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Change := {|Item,ColIndex,NewValue| OnChange(oG2antt,Item,ColIndex,NewValue)} /*Occurs when the user changes the cell's content.*/ oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/ oG2antt:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/ oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem(1),1,2) oItems1 := oG2antt:Items() oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1080 |
How can I display the number of items being found after filtering
PROCEDURE OnFilterChange(oG2antt) oG2antt:FilterBarCaption := Transform(oG2antt:Items:VisibleCount(),"") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:FilterChange := {|| OnFilterChange(oG2antt)} /*Occurs when the filter was changed.*/ oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 1/*exFilterPromptContainsAll*/ oG2antt:FilterBarPromptPattern := "london" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1079 |
How can I highligth the item from the cursor as it moves
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL oItems LOCAL h oG2antt:BeginUpdate() h := oG2antt:ItemFromPoint(-1,-1,c,hit) oItems := oG2antt:Items() oItems:ClearItemBackColor(oG2antt:Background(1000/*0x200+exHSRight+exListOLEDropPosition*/)) oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. )) oG2antt:SetProperty("Background",1000/*0x200+exHSRight+exListOLEDropPosition*/,h) oG2antt:EndUpdate() RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:DrawGridLines := 1/*exHLines*/ oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. )) oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oG2antt:ShowFocusRect := .F. oChart := oG2antt:Chart() oChart:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,250,240 } ) , .F. )) oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1078 |
How can I get the item from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL h h := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( "Handle" ) DevOut( Transform(h,"") ) DevOut( "Index" ) DevOut( Transform(oG2antt:Items:ItemToIndex(h),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:DrawGridLines := 1/*exHLines*/ oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1077 |
How can I get the column from the cursor, not only in the header
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:ColumnFromPoint(-1,0),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("P1") oG2antt:Columns():Add("P2") oG2antt:DrawGridLines := -1/*exAllLines*/ oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:SetProperty("CellValue",h,1,"R2") oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 1.1"),1,"Cell 1.2") oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 2.1"),1,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1076 |
How can I get the column from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) DevOut( Transform(oG2antt:ColumnFromPoint(-1,-1),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:Columns():Add("P1") oG2antt:Columns():Add("P2") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:SetProperty("CellValue",h,1,"R2") oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 1.1"),1,"Cell 1.2") oItems:SetProperty("CellValue",oItems:InsertItem(h,,"Cell 2.1"),1,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1075 |
How can I get the cell's caption from the cursor
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL h h := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( oG2antt:Items:CellCaption(h,c) ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Items") oItems := oG2antt:Items() h := oItems:AddItem("R1") oItems:InsertItem(h,,"Cell 1.1") oItems:InsertItem(h,,"Cell 1.2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("R2") oItems:InsertItem(h,,"Cell 2.1") oItems:InsertItem(h,,"Cell 2.2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1074 |
Is it possible to change the style for the vertical or horizontal grid lines, in the list area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:GridLineStyle := 33/*exGridLinesVSolid+exGridLinesHDot4*/ oG2antt:Columns():Add("C1") oG2antt:Columns():Add("C2") oG2antt:Columns():Add("C3") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:SetProperty("CellValue",h,1,"SubItem 1.2") oItems:SetProperty("CellValue",h,2,"SubItem 1.3") h := oItems:AddItem("Item 2") oItems:SetProperty("CellValue",h,1,"SubItem 2.2") oItems:SetProperty("CellValue",h,2,"SubItem 2.3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1073 |
How can I show the bars over the grid lines, i.e. so you cannot see the grid lines 'through' the bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL oLevel LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 220,220,220 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 256/*exGridLinesBehind*/ oChart:LevelCount := 2 oLevel := oChart:Level(1) oLevel:DrawGridLines := .T. oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 220,220,220 } ) , .F. )) oBar := oChart:Bars:Item("Task") oBar:Pattern := 1/*exPatternSolid*/ oBar:Height := 14 oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A") oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1072 |
Is it possible to change the style for the vertical grid lines, in the chart area only
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:GridLineStyle := 12/*exGridLinesDash*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 12/*exGridLinesDash*/ oChart:LevelCount := 2 oChart:Level(1):DrawGridLines := .T. oLevel := oChart:Level(0) oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oLevel:GridLineStyle := 32/*exGridLinesVSolid*/ oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A") oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1071 |
Is it possible to change the style for the grid lines, for instance to be solid not dotted
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:GridLineStyle := 48/*exGridLinesSolid*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 48/*exGridLinesSolid*/ oChart:LevelCount := 2 oChart:Level(1):DrawGridLines := .T. oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A") oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1070 |
How can I show the grid lines for the chart and list area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:DrawGridLines := -1/*exAllLines*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:DrawGridLines := -1/*exAllLines*/ oChart:LevelCount := 2 oChart:Level(1):DrawGridLines := .T. oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","A") oItems:AddBar(h,"Task","01/08/2001","01/15/2001","B") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1069 |
In the level of the chart we are showing the week number of the year (1-53) (Week: ww). However the weeknumber isn't correct. In western Europe the week of 04/01/2010 till 10/01/2010 is weeknumber 1, however the g2antt says it's week 2
|
1068 |
How can I determine the current visible date range of the gantt chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/06/2001") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/03/2001","01/07/2001") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/04/2001","01/08/2001") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/06/2001","01/10/2001") DevOut( Transform(oG2antt:Chart:StartPrintDate(),"") ) DevOut( Transform(oG2antt:Chart:EndPrintDate(),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1067 |
How can I change the progress bar using a spin editor using values from 0 to 100
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Items():AllowCellValueToItemBar := .T. oColumns := oG2antt:Columns() oColumns:Add("Task") oColumn := oColumns:Add("Percent") oColumn:Editor():EditType := 4/*SpinType*/ oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,518) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:Bars():Add("Task%Progress") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001") oItems:SetProperty("CellValue",h,1,40) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task%Progress","01/02/2001","01/06/2001") oItems:SetProperty("CellValue",h,1,50) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1066 |
Is it possible to display the histogram for selected bars only
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,64) oChart:FirstVisibleDate := "01/01/2001" oChart:HistogramVisible := .T. oChart:HistogramView := 8/*exHistogramSelectedBars*/ oChart:HistogramHeight := 32 oChart:Bars:Item("Task"):HistogramPattern := 6/*exPatternBDiagonal*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/03/2001","01/05/2001",1) oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/04/2001","01/07/2001",2) oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/02/2001","01/06/2001",3) oItems:SetProperty("ItemBar",0,2,257/*exBarSelected*/,.T.) oItems:SetProperty("ItemBar",0,3,257/*exBarSelected*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1065 |
How can I fix a bar, so it is not selectable, moveable or resizable, fixed in other words
|
1064 |
How can I fix a bar, so it is not moveable or resizable
|
1063 |
Is is possible to fix a bar during PDM scheduling
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"TaskF","01/02/2001","01/04/2001","K1") oItems:SetProperty("ItemBar",h1,"K1",10/*exBarCanResize*/,.F.) oItems:SetProperty("ItemBar",h1,"K1",11/*exBarCanMove*/,.F.) h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"TaskF","01/02/2001","01/04/2001","K3") oItems:SetProperty("ItemBar",h3,"K3",10/*exBarCanResize*/,.F.) oItems:SetProperty("ItemBar",h3,"K3",11/*exBarCanMove*/,.F.) oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1062 |
How can I specify that during scheduling the link, bars should be delayed, on working part
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/01/2001","01/03/2001","K1") oItems:SetProperty("ItemBar",h1,"K1",20/*exBarKeepWorkingCount*/,.T.) h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:SetProperty("ItemBar",h2,"K2",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:SetProperty("ItemBar",h3,"K3",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"link delays the bars<br>for <b>2</b> working days") oItems:SetProperty("Link","L2",16/*exLinkPDMWorkingDelay*/,2) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1061 |
How can I specify that during scheduling the link, bars should be delayed
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/," Finish-Start<br>delayed <b>4</b> days") oItems:SetProperty("Link","L2",17/*exLinkPDMDelay*/,4) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1060 |
The SchedulePDM method put the bars on non-working part, how can I prevent that
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") oItems:SetProperty("ItemBar",h1,"K1",20/*exBarKeepWorkingCount*/,.T.) h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:SetProperty("ItemBar",h2,"K2",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:SetProperty("ItemBar",h3,"K3",20/*exBarKeepWorkingCount*/,.T.) oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FS") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1059 |
How can I add a SF (Start-Finish) link so activities get arranged using the SchedulePDM
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"SF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1058 |
How can I add a SS (Start-Start) link so activities get arranged using the SchedulePDM
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"SS") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,0) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,0) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1057 |
How can I add a FF (Finish-Finish) link so activities get arranged using the SchedulePDM
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "12/28/2000" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FF") oItems:SetProperty("Link","L2",6/*exLinkStartPos*/,2) oItems:SetProperty("Link","L2",7/*exLinkEndPos*/,2) oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1056 |
How can I add a FS (Finish-Start) link so activities get arranged using the SchedulePDM
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/05/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",12/*exLinkText*/,"FS") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/06/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SetProperty("Link","L2",12/*exLinkText*/,"FS") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1055 |
How can I schedule activities in the project plan
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3") oItems:AddLink("L2",h3,"K3",h2,"K2") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1054 |
How do I arrange the bars based on the links
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/02/2001","01/04/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:AddItem("Task 3") oItems:AddBar(h3,"Task","01/02/2001","01/04/2001","K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:SchedulePDM(0,"K1") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1053 |
Is is possible to use HTML tags to display in the filter caption
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarCaption := "This is a bit of text being displayed in the filter bar." oG2antt:Columns():Add("") oItems := oG2antt:Items() oItems:AddItem("Item 1") oItems:AddItem("Item 2") oItems:AddItem("Item 3") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1052 |
How can I find the number of items after filtering
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("") oItems := oG2antt:Items() h := oItems:AddItem("") oItems:SetProperty("CellValue",h,0,oItems:VisibleItemCount()) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1051 |
How can I change the filter caption
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 12801/*exFilterPromptWords+exFilterPromptContainsAll*/ oG2antt:FilterBarPromptPattern := "london robert" oG2antt:FilterBarCaption := "<r>Found: ... " oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1050 |
While using the filter prompt is it is possible to use wild characters
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 16/*exFilterPromptPattern*/ oG2antt:FilterBarPromptPattern := "lon* seat*" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1049 |
How can I list all items that contains any of specified words, not necessary at the beggining
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 4610/*exFilterPromptStartWords+exFilterPromptContainsAny*/ oG2antt:FilterBarPromptPattern := "london davolio" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1048 |
How can I list all items that contains any of specified words, not strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 12802/*exFilterPromptWords+exFilterPromptContainsAny*/ oG2antt:FilterBarPromptPattern := "london nancy" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1047 |
How can I list all items that contains all specified words, not strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 12801/*exFilterPromptWords+exFilterPromptContainsAll*/ oG2antt:FilterBarPromptPattern := "london robert" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1046 |
I've noticed that the filtering by prompt is not case sensitive, is is possible to make it case sensitive
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 258/*exFilterPromptCaseSensitive+exFilterPromptContainsAny*/ oG2antt:FilterBarPromptPattern := "Anne" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1045 |
Is it possible to list only items that ends with any of specified strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 4/*exFilterPromptEndWith*/ oG2antt:FilterBarPromptColumns := "0" oG2antt:FilterBarPromptPattern := "Fuller" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1044 |
Is it possible to list only items that ends with any of specified strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 4/*exFilterPromptEndWith*/ oG2antt:FilterBarPromptColumns := "0" oG2antt:FilterBarPromptPattern := "Fuller" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1043 |
Is it possible to list only items that starts with any of specified strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 3/*exFilterPromptStartWith*/ oG2antt:FilterBarPromptColumns := "0" oG2antt:FilterBarPromptPattern := "An M" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1042 |
Is it possible to list only items that starts with specified string
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 3/*exFilterPromptStartWith*/ oG2antt:FilterBarPromptColumns := "0" oG2antt:FilterBarPromptPattern := "A" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1041 |
How can I specify that the list should include any of the seqeunces in the pattern
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/ oG2antt:FilterBarPromptPattern := "london seattle" oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1040 |
How can I specify that all sequences in the filter pattern must be included in the list
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 1/*exFilterPromptContainsAll*/ oG2antt:FilterBarPromptPattern := "london manager" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1039 |
How do I change at runtime the filter prompt
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptPattern := "london manager" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1038 |
How do I specify to filter only a single column when using the filter prompt
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptColumns := "2,3" oG2antt:FilterBarPromptPattern := "london" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1037 |
How do I change the prompt or the caption being displayed in the filter bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPrompt := "changed" oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1036 |
How do I enable the filter prompt feature
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:ColumnAutoResize := .T. oG2antt:ContinueColumnScroll := .F. oG2antt:FocusColumnIndex := 1 oG2antt:MarkSearchColumn := .F. oG2antt:SearchColumnIndex := 1 oG2antt:FilterBarPromptVisible := -1/*0xffffc0e8+exFilterBarTop+exFilterBarShort+exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarToggle+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumns := oG2antt:Columns() oColumns:Add("Name"):Width := 96 oColumns:Add("Title"):Width := 96 oColumns:Add("City") oItems := oG2antt:Items() h0 := oItems:AddItem("Nancy Davolio") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Andrew Fuller") oItems:SetProperty("CellValue",h0,1,"Vice President, Sales") oItems:SetProperty("CellValue",h0,2,"Tacoma") oItems:SetProperty("SelectItem",h0,.T.) h0 := oItems:AddItem("Janet Leverling") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Kirkland") h0 := oItems:AddItem("Margaret Peacock") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"Redmond") h0 := oItems:AddItem("Steven Buchanan") oItems:SetProperty("CellValue",h0,1,"Sales Manager") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Michael Suyama") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Robert King") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") h0 := oItems:AddItem("Laura Callahan") oItems:SetProperty("CellValue",h0,1,"Inside Sales Coordinator") oItems:SetProperty("CellValue",h0,2,"Seattle") h0 := oItems:AddItem("Anne Dodsworth") oItems:SetProperty("CellValue",h0,1,"Sales Representative") oItems:SetProperty("CellValue",h0,2,"London") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1035 |
How can I unselect all bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K2") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/02/2001","01/04/2001","K3") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4") oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.T.) oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.F.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1034 |
Can I select bars using a pattern using wild characters as *,
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,48) oChart:ShowNonworkingDates := .F. oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1K","K1K") oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2M","K2M") oItems:AddBar(h,"Task","01/09/2001","01/11/2001","K3K","K3K") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M") oItems:SetProperty("ItemBar",0,"<K*K>",257/*exBarSelected*/,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1033 |
How can I select all bars in the item with a specified key
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2") oItems:AddBar(h,"Task","01/09/2001","01/11/2001","P","P") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M") oItems:SetProperty("ItemBar",h,"<K*>",257/*exBarSelected*/,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1032 |
How can I select all bars in the specified item
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2") oItems:AddBar(h,"Task","01/09/2001","01/11/2001","P","P") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M") oItems:SetProperty("ItemBar",h,"<*>",257/*exBarSelected*/,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1031 |
How can I select all bars with a specified key
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2") oItems:AddBar(h,"Task","01/08/2001","01/10/2001","P","P") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","P","P") oItems:SetProperty("ItemBar",0,"<P>",257/*exBarSelected*/,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1030 |
How can I select all bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():SetProperty("PaneWidth",.F.,48) oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1","K1") oItems:AddBar(h,"Task","01/05/2001","01/07/2001","K2","K2") oItems:AddBar(h,"Task","01/08/2001","01/10/2001","P","P") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","Q","Q") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","M","M") oItems:SetProperty("ItemBar",0,"<*>",257/*exBarSelected*/,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1029 |
I have the AllowInsideZoom property on True, but I am still not able to use the inside zoom feature
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoomFormat LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 3 oChart:FirstWeekDay := 1/*exMonday*/ oChart:Level(0):Label := "Week: <%ww%>" oLevel := oChart:Level(1) oLevel:Label := "<%dddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oChart:Level(2):Label := 65536 oChart:NonworkingHours := 16773375 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingHours := .F. oChart:AllowInsideZoom := .T. oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:InsideUnit := 1048576/*exMinute*/ oInsideZoomFormat:InsideLabel := "<b><%nn%></b>" oChart:InsideZooms():Add("01/01/2001 10:00:00") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1028 |
Is there any option to find out if two bars intersects
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("InterectBars") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/01/2001" oChart:Bars:Item("Task"):OverlaidType := 1/*exOverlaidBarsOffset*/ oItems := oG2antt:Items() h := oItems:AddItem("") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","A","A") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B","B") oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B")) h := oItems:AddItem("") oItems:AddBar(h,"Task","01/06/2001","01/09/2001","A","A") oItems:AddBar(h,"Task","01/10/2001","01/13/2001","B","B") oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B")) h := oItems:AddItem("") oItems:AddBar(h,"Task","01/06/2001","01/09/2001","B","B") oItems:AddBar(h,"Task","01/10/2001","01/13/2001","A","A") oItems:SetProperty("CellValue",h,0,oItems:IntersectBars(h,"A",h,"B")) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1027 |
How can I find if a specified hour is a working or non-working hour, when using the ItemNonWorkingUnits
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,w oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Hour"):FormatColumn := "hour(value)" oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'" oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,164) oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 1 oItems := oG2antt:Items() h := oItems:AddItem("01/01/2001") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) h := oItems:AddItem("01/01/2001") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"hour(value) >0 ") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0),h) oItems:SetProperty("CellValue",h,1,w) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1026 |
How can I find if a specified hour is a working or non-working hour
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,w oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Hour"):FormatColumn := "hour(value)" oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'" oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,164) oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 1 oItems := oG2antt:Items() h := oItems:AddItem("01/01/2001") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) h := oItems:AddItem("01/01/2001 01:00:00") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1025 |
How can I find if a specified date-time is a working or non-working unit, when using the ItemNonWorkingUnits
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,w oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Date"):Width := 48 oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'" oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oItems := oG2antt:Items() h := oItems:AddItem("01/01/2001") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) h := oItems:AddItem("01/01/2001") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (1)") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0),h) oItems:SetProperty("CellValue",h,1,w) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1024 |
How can I find if a specified date-time is a working or non-working unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,w oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Date"):Width := 48 oG2antt:Columns():Add("Type"):FormatColumn := "value != 0 ? 'non-working' : 'working'" oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,128) oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oItems := oG2antt:Items() h := oItems:AddItem("01/01/2001") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) h := oItems:AddItem("01/06/2001") w := oG2antt:Chart():IsNonworkingDate(oG2antt:Items():CellValue(h,0)) oItems:SetProperty("CellValue",h,1,w) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1023 |
When zooming to days, the non-working part of the chart occupies some not useful space. Can I reduce it
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/03/2002" oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:LevelCount := 2 oChart:DrawGridLines := -1/*exAllLines*/ oChart:FirstWeekDay := 1/*exMonday*/ oChart:Level(0):Label := "Week: <%ww%>" oLevel := oChart:Level(1) oLevel:Label := "<%d%>/<%m2%>" oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? 'end' : value" oChart:UnitWidth := 32 oChart:UnitWidthNonworking := -32 oG2antt:Columns():Add("Task") oItems := oG2antt:Items() h := oItems:AddItem("Default") oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1022 |
My chart display only working hours, but when zooming to days, each day shows the non-working part of the day too, even if I use the ShowNonWorkingUnits property on False. What am I doing wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/03/2002 10:00:00" oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:LevelCount := 2 oChart:DrawGridLines := -1/*exAllLines*/ oChart:FirstWeekDay := 1/*exMonday*/ oChart:Level(0):Label := "<%ww%>" oLevel := oChart:Level(1) oLevel:Label := "<%dd%>" oLevel:Unit := 65536/*exHour*/ oLevel:Count := 24 oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oChart:UnitWidth := 32 oG2antt:Columns():Add("Task") oItems := oG2antt:Items() h := oItems:AddItem("Default") oItems:AddBar(h,"Task","01/04/2002 10:00:00","01/08/2002 02:00:00","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1021 |
I need to display only working hours and weekend part, but for some items I need another non-working part. Is this possible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel,oLevel1 LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "01/03/2002" oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:LevelCount := 2 oChart:DrawGridLines := -1/*exAllLines*/ oLevel := oChart:Level(0) oLevel:Label := "<%ddd%>" oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? '' : value" oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? 'end' : value" oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oChart:UnitWidthNonworking := -24 oG2antt:Columns():Add("Task") oItems := oG2antt:Items() h := oItems:AddItem("Default") oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) h := oItems:AddItem("Friday") oItems:AddBar(h,"Task","01/03/2002","01/07/2002 12:00:00","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6,5) or hour(value)<10 or hour(value)>=14") h := oItems:AddItem("Till 13") oItems:AddBar(h,"Task","01/04/2002","01/07/2002 12:00:00","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) in (0,6) or hour(value)<10 or hour(value)>=13") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1020 |
I can display the working hours, but how can I hide the weekend or non-working part of the chart when using the ShowNonWorkingUnits property on False
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/03/2002" oChart:LevelCount := 2 oChart:Level(0):Label := "<%ddd%>" oChart:Level(1):Label := 65536 oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingHours := .F. oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1019 |
How can I display only the working hours but uses less space for non-working part, such as weekend
|
1018 |
How can I display only the working hours but uses less space for non-working part, such as weekend
|
1017 |
How can I display only the working hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/03/2002" oChart:LevelCount := 2 oChart:Level(0):Label := "<%ddd%>" oChart:Level(1):Label := 65536 oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1016 |
How can I specify non-working hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/03/2002" oChart:LevelCount := 2 oChart:Level(0):Label := "<%ddd%>" oChart:Level(1):Label := 65536 oChart:NonworkingHours := 16761855 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1015 |
How can I display the working hours for a bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Working") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"A") oColumn:FormatColumn := "(0:=round(value*24)) != 0 ? =:0 : ''" oG2antt:Items():AllowCellValueToItemBar := .T. oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,96) oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "01/03/2002" oChart:LevelCount := 2 oChart:Level(0):Label := "<%ddd%>" oChart:Level(1):Label := "<%hh%>" oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/03/2002","01/04/2002","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1014 |
Is it possible to show only working hours, showing a small part for the weekend days, and in the same time showing the bars by splitting the non-working part and keeping the working units for the bar while moving
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL oLevel,oLevel1 LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:Bars():Add("Task:Split"):Shortcut := "Task" oChart:FirstVisibleDate := "01/03/2002" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%ddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `` : value" oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:DrawGridLines := .T. oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value" oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .T. oChart:ShowNonworkingHours := .F. oChart:UnitWidthNonworking := -40 oG2antt:Columns():Add("Task") oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/04/2002","01/08/2002","A") oItems:SetProperty("ItemBar",h,"A",20/*exBarKeepWorkingCount*/,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1013 |
How can I show bars with different solid color but black border
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"C:\Program Files\Exontrol\ExG2antt.NET\sample\EBN\blackbox.ebn") oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oBar := oG2antt:Chart():Bars:Item("Task") oBar:SetProperty("Color",0x1000000) oBar:Height := 15 oG2antt:Chart():SetProperty("PaneWidth",.F.,0) oItems := oG2antt:Items() h := oItems:AddItem("Task") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65535) h := oItems:AddItem("Task") oItems:AddBar(h,"Task","01/02/2001","01/05/2001","") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1012 |
I want to display a vertical line for each week, while I still need a vertical separator for each day. Is this possible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:DrawGridLines := -1/*exAllLines*/ oChart:NonworkingDays := 0 oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:DrawGridLines := .T. oLevel:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oLevel1 := oChart:Level(1) oLevel1:DrawGridLines := .T. oLevel1:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1011 |
How can I display the levels as year, day, AM and PM for each day
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "12/01/2009" oChart:UnitWidth := 22 oChart:LevelCount := 3 oChart:Level(0):Label := "<%yyyy%>" oChart:Level(1):Label := "<%mm%>/<%dd%>" oLevel := oChart:Level(2) oLevel:Label := "<%AM/PM%>" oLevel:Count := 12 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1010 |
How can I change the pattern for a specified time unit, in the chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoomFormat LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:PatternChart := 6/*exPatternBDiagonal*/ oInsideZoomFormat:SetProperty("PatternColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1009 |
How can I hide the non-working hours, but still display the non-working days with even less space
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "11/19/2009" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%dddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `` : value" oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:DrawGridLines := .T. oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>weekend</font>` : value" oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .T. oChart:ShowNonworkingHours := .F. oChart:UnitWidth := 32 oChart:UnitWidthNonworking := -32 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1008 |
How can I hide the non-working hours, but still display the non-working days with less space
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "11/19/2009" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%dddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value" oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:DrawGridLines := .T. oLevel1:FormatLabel := "weekday(dvalue) in (0,6) ? `<font ;6>` + value + `</font>` : value" oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .T. oChart:ShowNonworkingHours := .F. oChart:UnitWidth := 32 oChart:UnitWidthNonworking := 12 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1007 |
How can I hide the non-working hours, but still display the non-working days
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "11/19/2009" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%dddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:DrawGridLines := .T. oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .T. oChart:ShowNonworkingHours := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1006 |
How can I hide the non-working hours, and the non-working days
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "11/19/2009" oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%dddd%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel1 := oChart:Level(1) oLevel1:Label := 65536 oLevel1:DrawGridLines := .T. oChart:NonworkingHours := 16761855 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingHours := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1005 |
Can I highlights the non-working hours while my chart shows days
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/01/2001" oChart:UnitWidth := 48 oChart:LevelCount := 2 oLevel := oChart:Level(1) oLevel:Label := "<%d%>" oLevel:Unit := 65536/*exHour*/ oLevel:Count := 24 oChart:NonworkingHours := 127 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1004 |
How can I reduce the space/area being occupied by non-working units days or hours (method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,64) oChart:UnitWidthNonworking := -8 oChart:Level(1):FormatLabel := "weekday(dvalue) in (0,6) ? '.' : value" oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4") oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1003 |
How can I reduce the space/area being occupied by non-working units days or hours (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,64) oChart:UnitWidthNonworking := 4 oChart:Level(1):FormatLabel := "weekday(dvalue) in (0,6) ? '' : value" oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4") oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1002 |
How can I hide the non-working units
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:FirstWeekDay := 1/*exMonday*/ oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,64) oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oChart:DrawGridLines := 2/*exVLines*/ oChart:Level(0):DrawGridLines := .T. oChart:GridLineStyle := 512/*exGridLinesGeometric*/ oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K1") oItems:AddBar(h,"Task","01/05/2001","01/06/2001","K2") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/02/2001","01/04/2001","K3") oItems:AddBar(oItems:AddItem("Task 4"),"Task","01/02/2001","01/04/2001","K4") oItems:SetProperty("ItemBar",h,"<*>",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
1001 |
How can I determine that a certain bar is the topmost (zorder)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,48) oChart:FirstVisibleDate := "12/27/2000" oChart:Bars:Item("Task"):Pattern := 1/*exPatternSolid*/ oItems := oG2antt:Items() h := oItems:AddItem("B in front") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","A") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B","<fgcolor=FF0000>B</fgcolor>") oItems:SetProperty("ItemBar",h,"B",18/*exBarOffset*/,-2) oItems:SetProperty("ItemBar",h,"B",4/*exBarHAlignCaption*/,18) oItems:SetProperty("ItemBar",h,"B",33/*exBarColor*/,255) h := oItems:AddItem("A in back") oItems:AddBar(h,"Task","01/02/2001","01/06/2001","A","<fgcolor=FF0000>A</fgcolor>") oItems:SetProperty("ItemBar",h,"A",18/*exBarOffset*/,-2) oItems:SetProperty("ItemBar",h,"A",4/*exBarHAlignCaption*/,18) oItems:SetProperty("ItemBar",h,"A",33/*exBarColor*/,255) oItems:AddBar(h,"Task","01/03/2001","01/05/2001","B") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |